function example5 % compares collocation and least squares approximations for the BVP % y'' + p(x)y' + q(x)y= f(x) for xL < x < xr ' % where % y(xl) = yL and y(xR) = yR % p=0, q=0, f=-4*(1-x)*exp(-2*x) % clear all previous variables and plots clear * clf % set boundary conditions xL=0; yL=0; xR=1; yR=xR*exp(-2*xR); % collocation point x1=1/2; % get(gcf) %set(gcf,'Position', [1203 732 515 307]); set(gcf,'Position', [1203 757 530 280]); % calculate and plot exact solution a1=yL; nx=40; x=linspace(xL,xR,nx); for ix=1:nx exact(ix)=x(ix)*exp(-2*x(ix)); end; plot(x,exact,'k','LineWidth',1) hold on % define title and axes used in plot xlabel('x-axis','FontSize',14,'FontWeight','bold') ylabel('Solution','FontSize',14,'FontWeight','bold') title('BVP: Example 5','FontSize',14,'FontWeight','bold') % calculate and plot collocation solution a3=f(x1)/2; a2=yR-yL-a3; for ix=1:nx coll(ix)=a1+a2*x(ix)+a3*x(ix)^2; end; plot(x,coll,'-r','LineWidth',1) % calculate and plot least squares solution a3=(-1-exp(-2))/2; a2=yR-yL-a3; for ix=1:nx least(ix)=a1+a2*x(ix)+a3*x(ix)^2; end; plot(x,least,'-b','LineWidth',1) legend(' Exact',' Collocation',' Least Squares',4) % have MATLAB use certain plot options (all are optional) % Set the fontsize to 14 for the plot set(gca,'FontSize',14); % Set legend font to 14/bold set(findobj(gcf,'tag','legend'),'FontSize',14,'FontWeight','bold'); box on hold off function q=f(x) q=-4*(1-x)*exp(-2*x);